﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Seym
{
    public struct Boyut
    {
        private static Boyut _kucuk = new Boyut(12, 8, "Küçük");
        private static Boyut _orta = new Boyut(18, 12, "Orta");
        private static Boyut _buyuk = new Boyut(24, 16, "Büyük");
        private static Boyut[] _boyutlar = new Boyut[3] { _kucuk, _orta, _buyuk };

        private int _genislik;
        private int _yukseklik;
        private string _etiket;

        public static Boyut Kucuk { get { return _kucuk; } }
        public static Boyut Orta { get { return _orta; } }
        public static Boyut Buyuk { get { return _buyuk; } }
        public static Boyut[] Boyutlar { get { return _boyutlar; } }

        public int Genislik
        {
            get { return _genislik; }
            set { _genislik = value; }
        }
        public int Yukseklik {
            get { return _yukseklik; }
            set { _yukseklik = value; }
        }

        public string Etiket
        {
            get { return _etiket; }
            set { _etiket = value; }
        }

        public Boyut(int g, int y, string e = "Diğer")
        {
            _genislik = g;
            _yukseklik = y;
            _etiket = e;
        }

        public static implicit operator Boyut(string et)
        {
            if (_kucuk.Etiket == et)
                return _kucuk;
            else if (_orta.Etiket == et)
                return _orta;
            else if (_buyuk.Etiket == et)
                return _buyuk;
            else
                return _kucuk;
        }
    }
}
